14742
13416
Den här frågan har redan svar här:
Hur returnerar jag svaret från ett asynkront samtal?
(42 svar)
Stängt för 5 månader sedan.
Så när du kör följande kod är svaret från console.log (ba) odefinierat
Men när jag provar detta i Chrome V8-konsolen får jag rätt utdata som jag förväntar mig. Jag är inte helt säker på vad som händer här.
låt ba;
funktion Setqa () {
(async () => {
väntar på att hämta ('frågor.json')
.then (res => res.json ())
.then (async (data) => {
ba = väntar på data;
});
}) ();
}
Setqa ();
console.log (ba);
Innehållet i json-filen är följande:
"frågor": [{
"questionType": "flera",
"fråga": "Hur är vädret",
"svar": "",
"fråga Svar": ""
},
{
"questionType": "flera",
"fråga": "Hur mår du idag?",
"svar": " 1",
"questionAnswer": "textPurpose1"
}
] 
Jag antar att det borde fungera
låt ba;
funktion Setqa () {
returnera hämtning ('frågor.json')
.then (res => res.json ())
.then (async (data) => {
ba = väntar på data;
});
}
Setqa (). Sedan (() => console.log (ba));
Men ett bättre tillvägagångssätt skulle vara
async-funktion setQa () {
const res = väntar på hämtning ('questions.json');
returnera res.json ();
}
låt ba = vänta på setQa ();
|
Inte svaret du letar efter? Bläddra bland andra frågor taggade javascript json hämta console.log eller ställ din egen fråga.